/**
 * @file _axiom-divider.scss
 * @description 分割线组件样式定义
 */

.axiom-divider {
  position: relative;
  display: flex;
  align-items: center;

  // 水平分割线
  &.axiom-divider--horizontal {
    width: 100%;
    margin: var(--axiom-spacing-xl) 0;
    
    &::before {
      content: '';
      flex: 1;
      height: 1px;
      background-color: var(--axiom-border-color);
    }
    
    &::after {
      content: '';
      flex: 1;
      height: 1px;
      background-color: var(--axiom-border-color);
    }

    // 有文本内容时
    &.axiom-divider--with-text {
      .axiom-divider__text {
        padding: 0 var(--axiom-spacing-lg);
        color: var(--axiom-text-color-secondary);
        font-size: var(--axiom-font-size-base);
        white-space: nowrap;
        background-color: var(--axiom-bg-color-secondary);
      }

      // 文本位置
      &.axiom-divider--left {
        &::before {
          flex: 0 0 10%;
          max-width: 50px;
        }
      }

      &.axiom-divider--right {
        &::after {
          flex: 0 0 10%;
          max-width: 50px;
        }
      }
    }

    // 无文本时的简单线条
    &:not(.axiom-divider--with-text) {
      &::before {
        flex: none;
        width: 100%;
      }
      
      &::after {
        display: none;
      }
    }
  }

  // 垂直分割线
  &.axiom-divider--vertical {
    height: 100%;
    margin: 0 var(--axiom-spacing-lg);
    flex-direction: column;
    
    &::before {
      content: '';
      width: 1px;
      flex: 1;
      background-color: var(--axiom-border-color);
    }
    
    &::after {
      content: '';
      width: 1px;
      flex: 1;
      background-color: var(--axiom-border-color);
    }

    // 有文本内容时
    &.axiom-divider--with-text {
      .axiom-divider__text {
        padding: var(--axiom-spacing-sm) 0;
        color: var(--axiom-text-color-secondary);
        font-size: var(--axiom-font-size-base);
        white-space: nowrap;
        background-color: var(--axiom-bg-color-secondary);
        writing-mode: vertical-rl;
        text-orientation: mixed;
      }
    }

    // 无文本时的简单线条
    &:not(.axiom-divider--with-text) {
      &::before {
        flex: none;
        height: 100%;
      }
      
      &::after {
        display: none;
      }
    }
  }
}

// Cyberpunk 主题专属“特效”
html.theme-cyberpunk {
  .axiom-divider {
    &::before,
    &::after {
      background: linear-gradient(90deg,
        transparent,
        var(--primary-color-hover),
        var(--primary-color),
        var(--primary-color-hover),
        transparent
      );
      box-shadow: 0 0 5px var(--primary-color), 0 0 10px var(--primary-color-hover);
      height: 2px;
    }

    &.axiom-divider--vertical {
      &::before,
      &::after {
        background: linear-gradient(180deg,
          transparent,
          var(--primary-color-hover),
          var(--primary-color),
          var(--primary-color-hover),
          transparent
        );
        width: 2px;
      }
    }

    .axiom-divider__text {
      color: var(--text-color-secondary);
      text-shadow: 0 0 5px var(--text-color-secondary);
      background-color: var(--bg-color) !important;
    }
  }
}

// Neon 主题专属“特效”
html.theme-neon {
  .axiom-divider {
    &::before,
    &::after {
      background: linear-gradient(90deg,
        transparent,
        var(--primary-color),
        var(--primary-color-hover),
        var(--primary-color),
        transparent
      );
      box-shadow: 0 0 5px var(--primary-color), 0 0 10px var(--primary-color);
      height: 2px;
    }

    &.axiom-divider--vertical {
      &::before,
      &::after {
        background: linear-gradient(180deg,
          transparent,
          var(--primary-color),
          var(--primary-color-hover),
          var(--primary-color),
          transparent
        );
        width: 2px;
      }
    }
  }
}

html.theme-rainbow-cyber .axiom-divider {
  &::before,
  &::after {
    background: var(--rainbow-gradient);
    animation: rainbow-pulse 3s linear infinite;
    background-size: 200% 100%;
    height: 2px;
    border: none;
    box-shadow: var(--primary-glow);
  }

  &.axiom-divider--vertical {
    &::before,
    &::after {
      background: linear-gradient(180deg, #ff33b9, #ff3366, #ffff33, #33ff66, #33b9ff, #9b33ff, #ff33b9);
      background-size: 100% 200%;
    }
  }

  .axiom-divider__text {
    color: var(--text-color);
    background: var(--bg-color) !important;
    text-shadow: 0 0 5px var(--secondary-color);
  }
} 